package com.ruoyi.gd.wjglfl.domain.bo;

import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.*;
import java.util.Date;

/**
 * 文件管理分类业务对象 z_wjgl_fl
 *
 * @author ruoyi
 * @date 2024-10-27
 */

@Data
public class ZWjglFlBo {

    /**
     * id
     */
    private String id;

    /**
     * pid
     */
    private String pid;

    /**
     * 文件名称
     */
    @NotBlank(message = "文件名称不能为空", groups = { AddGroup.class, EditGroup.class })
        private String filename;

    /**
     * 分类编码
     */
    @NotBlank(message = "分类编码不能为空", groups = { AddGroup.class, EditGroup.class })
    private String filecode;

    /**
     * 文件类型
     */
    private String filetype;

    /**
     * 种类
     */
    private String category;

    /**
     * 图标
     */
    private String icon;

    /**
     * 图标颜色
     */
    private String iconcolor;

    /**
     * 文件权限
     */
    private String fileauth;

    /**
     * 文件密码
     */
    private String filepassword;

    /**
     * 收藏
     */
    private Integer collect;

    /**
     * 收藏
     */
    private String filepath;

    /**
     * 排序
     */
    private Integer px;

    /**
     * 是否只读
     */
    private String readonly;

    /**
     * 创建人id
     */
    private String createId;

    /**
     * 内容
     */
    private String content;

    /**
     * 删除标志（0代表存在 1代表删除）
     */
    @TableLogic
    private String delFlag;

    /**
     * 创建者
     */
    private String createBy;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 更新者
     */
    private String updateBy;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    private String orderByCode;

}
